package com.zhuo.project.order.domain;

import com.zhuo.framework.aspectj.lang.annotation.Excel;
import com.zhuo.framework.web.domain.BaseEntity;

import java.util.Date;
import java.util.Objects;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 处方单明细对象 zz_diagnose_detail
 * 
 * @author zhuo
 * @date 2020-03-26
 */
public class ZzDiagnoseDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 处方ID */
    @Excel(name = "处方ID")
    private String diagnoseId;

    /** 行项目号 */
    @Excel(name = "行项目号")
    private Integer itemNo;

    /** Rx-K3行号 */
    @Excel(name = "Rx-K3行号")
    private String rx;

    /** 物料ID */
    @Excel(name = "物料ID")
    private String materialId;

    /** 物料名称 */
    @Excel(name = "物料名称")
    private String materialName;

    /** 卓正识别码 */
    @Excel(name = "卓正识别码")
    private String barcode;

    /** 剂量 */
    @Excel(name = "剂量")
    private String intakeUnit;

    /** 频率/使用方法 */
    @Excel(name = "频率/使用方法")
    private String intakeMethod;

    /** 用药时间 */
    @Excel(name = "用药时间")
    private String medicationTime;

    /** 数量 */
    @Excel(name = "数量")
    private Double qty;

    /** 单位 */
    @Excel(name = "单位")
    private Double qtyUnit;

    /** 单位名称 */
    @Excel(name = "单位名称")
    private String qtyUnitName;

    /** 总共已发数量 */
    @Excel(name = "总共已发数量")
    private Double totalSendQty;

    /** 基本单位 */
    @Excel(name = "基本单位")
    private Double baseQtyUnit;

    /** 基本单位名称 */
    @Excel(name = "基本单位名称")
    private String baseQtyUnitName;

    /** 说明 */
    @Excel(name = "说明")
    private String instructions;

    /** 注意事项 */
    @Excel(name = "注意事项")
    private String note;

    /** 备注 */
    @Excel(name = "备注")
    private String mark;

    /** 状态（0正常 1关闭） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=关闭")
    private Integer isValid;

    /** 最后更新时间 */
    @Excel(name = "最后更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date synTime;

    /**
     * 0 不标颜色  1 黄色 2 红色
     */
    private Integer color;

    /*配药数量 */
    private Double sendQty;

    /** 英文备注 */
    @Excel(name = "英文备注")
    private String remarks;

    /** 标签名称 */
    @Excel(name = "标签名称")
    private String  lableName;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setDiagnoseId(String diagnoseId)
    {
        this.diagnoseId = diagnoseId;
    }

    public String getDiagnoseId()
    {
        return diagnoseId;
    }
    public void setItemNo(Integer itemNo) 
    {
        this.itemNo = itemNo;
    }

    public Integer getItemNo() 
    {
        return itemNo;
    }
    public void setRx(String rx) 
    {
        this.rx = rx;
    }

    public String getRx() 
    {
        return rx;
    }
    public void setMaterialId(String materialId) 
    {
        this.materialId = materialId;
    }

    public String getMaterialId() 
    {
        return materialId;
    }
    public void setMaterialName(String materialName) 
    {
        this.materialName = materialName;
    }

    public String getMaterialName() 
    {
        return materialName;
    }
    public void setBarcode(String barcode) 
    {
        this.barcode = barcode;
    }

    public String getBarcode() 
    {
        return barcode;
    }
    public void setIntakeUnit(String intakeUnit) 
    {
        this.intakeUnit = intakeUnit;
    }

    public String getIntakeUnit() 
    {
        return intakeUnit;
    }
    public void setIntakeMethod(String intakeMethod) 
    {
        this.intakeMethod = intakeMethod;
    }

    public String getIntakeMethod() 
    {
        return intakeMethod;
    }
    public void setMedicationTime(String medicationTime) 
    {
        this.medicationTime = medicationTime;
    }

    public String getMedicationTime() 
    {
        return medicationTime;
    }
    public void setQty(Double qty) 
    {
        this.qty = qty;
    }

    public Double getQty() 
    {
        return qty;
    }
    public void setQtyUnit(Double qtyUnit) 
    {
        this.qtyUnit = qtyUnit;
    }

    public Double getQtyUnit() 
    {
        return qtyUnit;
    }
    public void setQtyUnitName(String qtyUnitName) 
    {
        this.qtyUnitName = qtyUnitName;
    }

    public String getQtyUnitName() 
    {
        return qtyUnitName;
    }
    public void setTotalSendQty(Double totalSendQty) 
    {
        this.totalSendQty = totalSendQty;
    }

    public Double getTotalSendQty() 
    {
        return totalSendQty;
    }
    public void setBaseQtyUnit(Double baseQtyUnit) 
    {
        this.baseQtyUnit = baseQtyUnit;
    }

    public Double getBaseQtyUnit() 
    {
        return baseQtyUnit;
    }
    public void setBaseQtyUnitName(String baseQtyUnitName) 
    {
        this.baseQtyUnitName = baseQtyUnitName;
    }

    public String getBaseQtyUnitName() 
    {
        return baseQtyUnitName;
    }
    public void setInstructions(String instructions) 
    {
        this.instructions = instructions;
    }

    public String getInstructions() 
    {
        return instructions;
    }
    public void setNote(String note) 
    {
        this.note = note;
    }

    public String getNote() 
    {
        return note;
    }
    public void setMark(String mark) 
    {
        this.mark = mark;
    }

    public String getMark() 
    {
        return mark;
    }
    public void setIsValid(Integer isValid) 
    {
        this.isValid = isValid;
    }

    public Integer getIsValid() 
    {
        return isValid;
    }
    public void setSynTime(Date synTime) 
    {
        this.synTime = synTime;
    }

    public Date getSynTime() 
    {
        return synTime;
    }

    public Integer getColor() {
        return color;
    }

    public void setColor(Integer color) {
        this.color = color;
    }

    public Double getSendQty() {
        return sendQty;
    }

    public void setSendQty(Double sendQty) {
        this.sendQty = sendQty;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getLableName() {
        return lableName;
    }

    public void setLableName(String lableName) {
        this.lableName = lableName;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        ZzDiagnoseDetail detail = (ZzDiagnoseDetail) o;
        return materialId.equals(detail.materialId);
    }

    @Override
    public int hashCode() {
        return Objects.hash(materialId);
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("diagnoseId", getDiagnoseId())
            .append("itemNo", getItemNo())
            .append("rx", getRx())
            .append("materialId", getMaterialId())
            .append("materialName", getMaterialName())
            .append("barcode", getBarcode())
            .append("intakeUnit", getIntakeUnit())
            .append("intakeMethod", getIntakeMethod())
            .append("medicationTime", getMedicationTime())
            .append("qty", getQty())
            .append("qtyUnit", getQtyUnit())
            .append("qtyUnitName", getQtyUnitName())
            .append("totalSendQty", getTotalSendQty())
            .append("baseQtyUnit", getBaseQtyUnit())
            .append("baseQtyUnitName", getBaseQtyUnitName())
            .append("instructions", getInstructions())
            .append("note", getNote())
            .append("mark", getMark())
            .append("isValid", getIsValid())
            .append("synTime", getSynTime())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remarks", getRemarks())
            .append("lableName", getLableName())
            .toString();
    }
}
